import request from '@/config/axios'

// 子任务管理 VO
export interface SubtasksVO {
  id: number // 序号
  taskTitle: string // 任务主题
  mainTaskId: number // 关联的主任务ID
  operatorUserId: number // 执行人
  operatorUserName: string // 执行人
  priorityType: number // 优先级:低/中/高/紧急
  endDate: Date // 结束日期
  actualEndDate: Date // 实际完成日期
  taskStatus: number // 任务状态
  files: string // 相关附件
  taskDescription: string // 任务描述
}

// 子任务管理 API
export const SubtasksApi = {
  // 查询子任务管理分页
  getSubtasksPageAll: async (params: any) => {
    return await request.get({ url: `/oa/subtasks/pageAll`, params })
  },

  // 查询子任务管理分页
  getSubtasksPageOwner: async (params: any) => {
    return await request.get({ url: `/oa/subtasks/pageOwner`, params })
  },

  // 查询子任务管理详情
  getSubtasks: async (id: number) => {
    return await request.get({ url: `/oa/subtasks/get?id=` + id })
  },

  // 新增子任务管理
  createSubtasks: async (data: SubtasksVO) => {
    return await request.post({ url: `/oa/subtasks/create`, data })
  },

  // 修改子任务管理
  updateSubtasks: async (data: SubtasksVO) => {
    return await request.put({ url: `/oa/subtasks/update`, data })
  },

  // 删除子任务管理
  deleteSubtasks: async (id: number) => {
    return await request.delete({ url: `/oa/subtasks/delete?id=` + id })
  },

  // 导出子任务管理 Excel
  exportSubtasks: async (params) => {
    return await request.download({ url: `/oa/subtasks/export-excel`, params })
  },
  // 将子任务状态变更为完成（后端会自动填充实际完成日期为当前时间）
  updateTasksStatus: async (id: number,statusType: number, taskStatus: number,reason: string) => {
    return await request.get({ url: '/oa/subtasks/updateTasksStatus?id='+id+'&statusType='+statusType+'&taskStatus='+taskStatus+'&reason='+reason});
  },
}


